#ifndef CTF_RULES_H
#define CTF_RULES_H

#include <utils/Pluginterface.h>
#include <concrete/EventSystem.h>

#include <game/BaseCTFRules.h>

//Added events
//----------------------------------

//----------------------------------

class FlagCaptureResponse : public Response< EntityCollisionEvent >
{
	
public:
	virtual void respond( const FlagCaptureEvent& event )
	{
		//TODO: Fill this in
		//Capturing team score += 1
		//Capturing player score += flag_points
	}
};

class CTFRules : public RuleSet
{
public:
	std::list< String > getDependencies()
	{
		std::list< String > sDependencies;
		
		sDependancies.push_back( "BaseCTFRules" );
		//sDependancies.push_back( "another required RuleSet name" );
		
		return sDependencies;
	}
	
	virtual void addRules( EventManager* pEventMgr )
	{
		pEventMgr->addRule( FlagCaptureEvent(), FlagCaptureResponse );
	}
};

DEFINE_PLUGIN( CTFRules, RuleSet )

#endif //CTF_RULES_H
